package br.gov.mi.corporativo.dominio.boundary.comum.unidademedida;

import java.util.List;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;

import br.gov.mi.corporativo.dominio.entidade.comum.UnidadeMedida;

@Path("unidadesmedida")
public class UnidadeMedidaRestAdapter extends SpringBeanAutowiringSupport{

	@Autowired
	private UnidadeMedidaEndPoint service;
	
	@GET
	@Produces({MediaType.APPLICATION_JSON})
	public List<UnidadeMedida> recuperarTodos(){
		return service.recuperarTodos();
	}
	
	@GET
	@Path("id/{id}")
	@Produces({MediaType.APPLICATION_JSON})
	public UnidadeMedida recuperarPorId(@PathParam("id")Long id){
		return service.recuperarPorId(id);
	}
	
	@GET
	@Path("nome/{nome}")
	@Produces({MediaType.APPLICATION_JSON})
	public UnidadeMedida recuperarPorNome(@PathParam("nome")String nome){
		return service.recuperarPorNome(nome);
	}
	
	@GET
	@Path("descricao/{descricao}")
	@Produces({MediaType.APPLICATION_JSON})
	public UnidadeMedida recuperarPorDescricao(@PathParam("descricao")String descricao){
		return service.recuperarPorDescricao(descricao);
	}
	
	@GET
	@Path("sigla/{sigla}")
	@Produces({MediaType.APPLICATION_JSON})
	public UnidadeMedida recuperarPorSigla(@PathParam("sigla")String sigla){
		return service.recuperarPorDescricao(sigla);
	}
	
	
}
